#!/bin/bash

# MySQL 数据库连接参数
DB_HOST="110.41.6.107"
DB_USER="root"
DB_PASS="root"
DB_NAME="scm_kaifa"

# 导入目录
IMPORT_DIR="/home/mysql"

# 获取导入目录中的所有 SQL 文件
SQL_FILES=$(ls "$IMPORT_DIR"/*.sql)

# 导入每个 SQL 文件
for sql_file in $SQL_FILES; do
    table=$(basename "$sql_file" .sql)  # 获取文件名作为表名
    echo "表名字 table: $table"
    # 检查表是否存在，如果存在则先删除
    mysql -h"$DB_HOST" -u"$DB_USER" -p"$DB_PASS" -P33306 "$DB_NAME" -e "DROP TABLE IF EXISTS $table;"

    # 查询 @@GLOBAL.GTID_EXECUTED 是否为空
    GTID_EXECUTED=$(mysql -h"$DB_HOST" -u"$DB_USER" -p"$DB_PASS" -P33306 "$DB_NAME" -N -s -e "SELECT @@GLOBAL.GTID_EXECUTED;")
    if [ -n "$GTID_EXECUTED" ]; then
        # 清空 GTID_EXECUTED
        mysql -h"$DB_HOST" -u"$DB_USER" -p"$DB_PASS" -P33306 "$DB_NAME" -e "RESET MASTER;"
    fi

    # 导入表
    echo "开始导入表 $table ..."
    mysql -h"$DB_HOST" -u"$DB_USER" -p"$DB_PASS" -P33306 "$DB_NAME" < "$sql_file"

    if [ $? -eq 0 ]; then
        echo "导入表 $table 成功"
    else
        echo "导入表 $table 失败"
    fi
    echo "等待 6 秒钟..."
    sleep 6
done
